// 提供 本地数据 操作的方法

// 1.读取本地 数据 --------------------------------------------
// 如果是 json字符串，会自动转成 对象/数组
export const getItem = key => {
  // a.先获取本地字符串
  const data = localStorage.getItem(key)
  try {
    // b.返回 转成 对象/数组的数据
    return JSON.parse(data)
  } catch (error) {
    // c.转换失败，则返回 原始数据
    return data
  }
}

// 2.保存本地 数据 --------------------------------------------
export const setItem = (key, value) => {
  // typeof 值类型 -> '值类型名字'
  // typeof 引用类型 -> 'object'

  // a.将 数据 传给 strJSON
  let strJson = value
  // b.判断如果是引用类型数据，需要 转成 json 字符串
  if (typeof value === 'object') {
    strJson = JSON.stringify(value)
  }

  // c.将最后的 结果 保存到 本地
  localStorage.setItem(key, strJson)
}

// 3.删除本地 数据 --------------------------------------------
export const removeItem = (key) => {
  localStorage.removeItem(key)
}
